草庐IT

ES 脚本

全部标签

javascript - 将不同的 this 作用域绑定(bind)到 ES6 => 函数运算符

在尝试使用ES6提供的=>特性继承上下文后,我注意到this上下文永远无法更改。示例:varotherContext={a:2};functionfoo(){this.a=1;this.bar=()=>this.a;}varinstance=newfoo;instance.bar();//returns1instance.bar.bind(otherContext)();//returns1没有=>运算符并使用function关键字:functionfoo(){this.a=1;this.bar=function(){returnthis.a;}}varinstance=newfoo;

javascript - 为什么在构造函数中直接创建 ES6 类的实例时 Jest 的 toThrow 不起作用?

classTestObject{constructor(value){if(value===null||value===undefined){thrownewError('Expectavalue!');}}}describe('testtheconstructor',()=>{test('itworks',()=>{expect(()=>{newTestObject();}).toThrow();});test('notwork',()=>{expect(newTestObject()).toThrow();});});此处有2个测试用例,一个有效,另一个无效。notwork的失败消

javascript es6 导入 "expects exactly one argument"

我正在尝试使用es6模块,但遇到错误:SyntaxError:Unexpectedidentifier'GameObject'.importcallexpectsexactlyoneargument.顺便说一句,这是在macOS10.13上的Safari11中。这是我的模块:exportclassGameObject{//code}exportclassGameLoop{//code}相关html:以及尝试使用该模块的脚本,它在第1行给出了上述错误:importGameObjectfrom"./gameFoundation.js"importGameLoopfrom"./gameFou

javascript - 让我的用户脚本等待其他脚本加载

[编辑:我将用一个简化的示例来演示问题,从而替换原来的、令人困惑的问题。]背景我正在尝试编写一个将在Chrome中运行的用户脚本。此脚本需要调用用户脚本之外的JavaScript函数AlertMe()-此函数是页面的一部分并且包含在服务器端动态生成的变量,因此它不是不可能在我的用户脚本中重写这个函数。代码页面脚本(visitthepage):functionAlertMe(){alert("FunctionAlertMewascalled!");//thendostuffwithstringsthatweredynamicallygenerated//ontheserversothat

javascript - 如何将时间戳添加到 package.json 中的脚本中?

这可能是不可能的(因为这是JSON而不是JavaScript)。我只是在想最简单的方法来从npm命令在字符串中插入日期戳,而不增加另一个任务运行器等的开销:"scripts":{"deploy":"gitadd-A;gitcommit-m\"automateddeployment{DateStamp}\";gitpushdeploymentbrowse--force;"},而且不用因为使用--force而责备我;) 最佳答案 NPM脚本只是bash脚本。使用bash功能为某些提交消息添加时间戳。示例:"scripts":{"depl

javascript - ES6 Set 允许重复数组/对象

请看下面的脚本。我正在使用Chrome对其进行测试。/*declareanewset*/varitems=newSet()/*addanarraybydeclaringasarraytype*/vararr=[1,2,3,4];items.add(arr);/*printitems*/console.log(items);//Set{[1,2,3,4]}/*addanarraydirectlyasargument*/items.add([5,6,7,8]);/*printitems*/console.log(items);//Set{[1,2,3,4],[5,6,7,8]}/*prin

JavaScript IF/ELSE 调用另一个 JS 脚本?

我需要根据条件调用两个JavaScript之一,如下所示:if(b_condition)else但这行不通。知道如何在If/Elseblock中调用另一个JavaScript调用吗? 最佳答案 什么鬼?为什么这里的每个人都提倡document.write()?可以肯定的是,到目前为止,我们已经超越了标准做法;如果您处于XHTML设置中,document.write甚至无效。执行此操作的最佳方法如下(也是此处,为了更好地突出显示/解析:https://gist.github.com/767131):/*Sincescriptloadi

从毫秒到小时-分钟-秒的javascript倒计时脚本

我正在寻找一种将毫秒输出为小时-分钟-秒的简单方法。我看过一些插件,但我不想在插件中使用插件,我也看过很多倒计时片段,但这些都使用了日期,我使用的不是日期而是毫秒。谢谢。编辑:我正在寻找一个从xxxx毫秒倒计时到零的脚本//到现在为止diff=100000000;functionshowTimer(){hours=Math.floor(diff/(1000*60*60));mins=Math.floor(diff/(1000*60));secs=Math.floor(diff/1000);$('.count').html(hours+'hours'+minutes+'minutes'+

javascript - 如何触发 Chrome 扩展,URL 中给定哈希的内容脚本?

我的匹配方案:"content_scripts":[{"matches":["https://stackoverflow.com/questions#epic*"],"js":["silly.js"]}],因此,如果用户转到网页(如https://stackoverflow.com/questions),然后添加#epic,它将转到https://stackoverflow.com/questions#epic但是在URL的末尾会有#epic,这将激活内容脚本silly.js。这是应该发生的事情,但这是行不通的。 最佳答案 参见Co

javascript - ES6 Reflect API 的好处

我一直致力于升级一些代码以使用ES6语法。我有以下代码行:deletethis._foo;我的linter提出了一个使用建议:Reflect.deleteProperty(this,'_foo');您可以找到此方法的文档here.MDN文档声明:TheReflect.deletePropertymethodallowsyoutodeleteapropertyonanobject.ItreturnsaBooleanindicatingwhetherornotthepropertywassuccessfullydeleted.Itisalmostidenticaltothenon-stri